1. Field of the Invention
The present invention relates to a method of constructing and managing an overlay multicast tree on the Internet, which enables the construction of a balanced overlay multicast tree and the continuous management of status of the overlay multicast tree, thus increasing the efficiency of use of network resources.
2. Description of the Prior Art
Internet transmission-methods may be classified into tree types: unicast in which a single sender transmits data to a single receiver, broadcast in which a single sender transmits data to all the receivers on the same subnet, and multicast in which a single sender transmits data to multiple receivers.
Of these transmission methods, multicast allows a sender to transmit a message to multiple receivers simultaneously, thus minimizing waste of network resources, and is useful in applications, such as Internet videoconferencing.
The conversion of the unicast-based Internet into a multicast-based Internet is restricted, however useful the multicast.
Accordingly, Korean Pat. Appl. No. 2001-029308 entitled “System for construction of virtual multicast network” proposes overlay multicast that allows multicast services to be utilized in a non-multicast environment.
The overlay multicast is a transmission method, in which a plurality of agents are installed on the existing unicast-based Internet, a sender, receivers and agents are configured in a tree structure and the sender transmits multicast data to the receivers through the use of the relaying function of the agents. The overlay multicast is a kind of multicast implemented and performed in the layer of an overlay.
With such an overlay multicast transmission technology, multicast application services, such as live Internet broadcasting, distance education and Internet videoconferencing, can be implemented over a unicast network without the construction of an additional multicast network or conversion of an existing unicast network into a multicast network.
FIG. 1 is a diagram showing the basic construction of an overlay multicast tree that connects a sender terminal 11 with receiver terminals 31˜36 over the Internet.
An existing multicast tree is a tree that connects network routers, while an overlay tree is a tree, which connects information terminals operated in an upper application layer and in which information terminals called agents 21˜24 are employed to perform the relayed transmission of data.
Each of the agents 21˜24 is a node that can have one or more child nodes (that is, one or more other agents, or one or more receivers), and may be a server computer separately installed on a network or software implemented in a receiver terminal.
The agent 21, 22, 23 or 24 functions to receive data from a sender or upstream agent, and relays the data to its child nodes (one or more downstream agents or one or more receiver terminals).
When the construction of the overlay tree starts (that is, a session starts), each of the receiver terminals 31˜36 accesses a tree manager (not shown) and requests upstream node information from the tree manager, and the tree manager randomly selects a parent node and reports the parent node to the receiver terminal 31, 32, 33, 34, 35 or 36. Once the parent node has been selected, a data channel is established between the child node and the parent node by the child node requesting data transmission from the parent node.
In this case, a multicast type data channel is chiefly utilized, but a multicast type data channel may be utilized if multicast transmission can be performed on a corresponding network.
However, up till now, in order to construct a tree for overlay multicast transmission, upstream agents have been randomly allotted to each agent and one or more receivers, so an overlay multicast tree has not been well balanced, and therefore transmission delay could be increased between a sender and receivers. Additionally, the characteristic information of a network, such as the availability of multicast, has not been taken into consideration at the time of constructing the overlay multicast tree, so a unicast channel has been constructed notwithstanding that a multicast channel is available. Furthermore, excessive levels are constructed between a sender and receivers as the result of the above, so the efficiency of data transmission and the efficiency of use of network resources have been reduced.